Skip to content

Add behavioral tests for combinational-loop analysis - #3159

Merged
dalance merged 25 commits into
veryl-lang:masterfrom
tignear:test/comb-loop-analysis
Aug 8, 2026
Merged

Add behavioral tests for combinational-loop analysis#3159
dalance merged 25 commits into
veryl-lang:masterfrom
tignear:test/comb-loop-analysis

Conversation

@tignear

@tignear tignear commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

This PR adds behavioral tests for the planned replacement of the combinational-loop analysis. It does not change the analyzer implementation.

Cases already handled correctly by the current implementation are active regression tests. This ensures that the replacement cannot regress existing behavior while addressing the known limitations.

Cases that currently fail are kept ignored and classified as:

  • false positives, where a reported dependency cannot form executable combinational feedback;
  • false negatives, where executable combinational feedback is not reported.

The tests cover procedural control flow, strong and weak updates, bit and element regions, dynamic selections, functions and their side effects, module instances, port mappings, and incomplete analysis boundaries.

Retained-state cases that should produce UncoveredBranch are recorded separately as follow-up work. They are not treated as combinational-loop failures and will be addressed after the combinational-loop replacement.

@codspeed-hq

codspeed-hq Bot commented Aug 7, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 8 untouched benchmarks


Comparing tignear:test/comb-loop-analysis (39c88da) with master (6cb4b22)

Open in CodSpeed

@dalance
dalance merged commit 27b3fc9 into veryl-lang:master Aug 8, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants